package org.jctc.els.modules.biz.mapper.pro;

import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.jctc.els.modules.biz.entity.pro.ElsProjectReview;
import org.jctc.els.modules.biz.entity.pro.ProjectReviewAuditVO;

/**
 * 评审表;(els_project_review)表数据库访问层
 * @author : http://www.chiner.pro
 * @date : 2022-6-21
 */
@Mapper
public interface ElsProjectReviewMapper  extends BaseMapper<ElsProjectReview>{
    /**
     * 分页查询指定行数据
     *
     * @param page 分页参数
     * @param wrapper 动态查询条件
     * @return 分页对象列表
     */
    IPage<ElsProjectReview> selectByPage(IPage<ElsProjectReview> page , @Param(Constants.WRAPPER) Wrapper<ElsProjectReview> wrapper);

    IPage<ProjectReviewAuditVO> selectExpertScore(Page<ProjectReviewAuditVO> elsProjectsPage,@Param("projectId") Long projectId);

    /**
     * 还有几个待小组组长审核的评分没有审核
     * @param projectId
     * @return
     */
    int selectNotLeaderAuthCount(@Param("projectId") Long projectId);

    /**
     * 还有几个待管理员审核的评分没有审核
     * @param projectId
     * @return
     */
    int selectNotAdminAuthCount(@Param("projectId") Long projectId);

    //跳转到管理员进行评分
    int updateToAdminAuthStatus(@Param("projectId") Long projectId);

    //已完成审核
    int updateToCompletedStatus(@Param("projectId") Long projectId);

    Integer selectByIds(@Param("id") Long id);
}